Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

Q is empty.


QTRS
  ↳ AAECC Innermost

Q restricted rewrite system:
The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

Q is empty.

We have applied [19,8] to switch to innermost. The TRS R 1 is

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)

The TRS R 2 is

ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The signature Sigma is {if_7, if_4, if_6, ring, if_8, if_5, if_3, if_2, if_1, if_9}

↳ QTRS
  ↳ AAECC Innermost
QTRS
      ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)


Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → TAIL(in_2)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(map_f(two, head(in_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → LEQ(m, length(st_2))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → FSTSPLIT(m, st_3)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, st_1)
RING(st_1, in_2, st_2, in_3, st_3, m) → HEAD(in_2)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → TAIL(in_3)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(three, head(in_3))
LENGTH(cons(h, t)) → LENGTH(t)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(three, head(in_3))
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → LENGTH(st_3)
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(two, head(in_2)), st_2)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
MAP_F(pid, cons(h, t)) → APP(f(pid, h), map_f(pid, t))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → EMPTY(fstsplit(m, app(map_f(two, head(in_2)), st_2)))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(three, head(in_3)), st_3)
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(three, head(in_3)), st_3))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_2)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(three, head(in_3)), st_3)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(map_f(three, head(in_3)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, app(map_f(three, head(in_3)), st_3))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, st_2)
APP(cons(h, t), x) → APP(t, x)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_2)
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → FSTSPLIT(m, st_2)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(two, head(in_2))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(two, head(in_2)), st_2)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_1)
LEQ(s(n), s(m)) → LEQ(n, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → LEQ(m, length(st_3))
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → TAIL(in_2)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → EMPTY(fstsplit(m, app(map_f(three, head(in_3)), st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → FSTSPLIT(m, st_1)
RING(st_1, in_2, st_2, in_3, st_3, m) → MAP_F(two, head(in_2))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → EMPTY(fstsplit(m, st_3))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(two, head(in_2)), st_2))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_2)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → TAIL(in_3)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(two, head(in_2)), st_2))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → LENGTH(st_2)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(fstsplit(m, st_1))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → MAP_F(three, head(in_3))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_3)
FSTSPLIT(s(n), cons(h, t)) → FSTSPLIT(n, t)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, app(map_f(two, head(in_2)), st_2))
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → EMPTY(fstsplit(m, st_2))
MAP_F(pid, cons(h, t)) → MAP_F(pid, t)
RING(st_1, in_2, st_2, in_3, st_3, m) → HEAD(in_3)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_3)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(two, head(in_2))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
SNDSPLIT(s(n), cons(h, t)) → SNDSPLIT(n, t)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_3)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
QDP
          ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → TAIL(in_2)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(map_f(two, head(in_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → LEQ(m, length(st_2))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → FSTSPLIT(m, st_3)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, st_1)
RING(st_1, in_2, st_2, in_3, st_3, m) → HEAD(in_2)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → TAIL(in_3)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(three, head(in_3))
LENGTH(cons(h, t)) → LENGTH(t)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(three, head(in_3))
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → LENGTH(st_3)
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(two, head(in_2)), st_2)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
MAP_F(pid, cons(h, t)) → APP(f(pid, h), map_f(pid, t))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → EMPTY(fstsplit(m, app(map_f(two, head(in_2)), st_2)))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(three, head(in_3)), st_3)
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(three, head(in_3)), st_3))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_2)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(three, head(in_3)), st_3)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(map_f(three, head(in_3)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, app(map_f(three, head(in_3)), st_3))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, st_2)
APP(cons(h, t), x) → APP(t, x)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_2)
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → FSTSPLIT(m, st_2)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(two, head(in_2))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → APP(map_f(two, head(in_2)), st_2)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_1)
LEQ(s(n), s(m)) → LEQ(n, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → LEQ(m, length(st_3))
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → TAIL(in_2)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → EMPTY(fstsplit(m, app(map_f(three, head(in_3)), st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → FSTSPLIT(m, st_1)
RING(st_1, in_2, st_2, in_3, st_3, m) → MAP_F(two, head(in_2))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → EMPTY(fstsplit(m, st_3))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(two, head(in_2)), st_2))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_2)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → TAIL(in_3)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → FSTSPLIT(m, app(map_f(two, head(in_2)), st_2))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → LENGTH(st_2)
RING(st_1, in_2, st_2, in_3, st_3, m) → EMPTY(fstsplit(m, st_1))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → MAP_F(three, head(in_3))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_3)
FSTSPLIT(s(n), cons(h, t)) → FSTSPLIT(n, t)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, app(map_f(two, head(in_2)), st_2))
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → EMPTY(fstsplit(m, st_2))
MAP_F(pid, cons(h, t)) → MAP_F(pid, t)
RING(st_1, in_2, st_2, in_3, st_3, m) → HEAD(in_3)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → HEAD(in_3)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → MAP_F(two, head(in_2))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
SNDSPLIT(s(n), cons(h, t)) → SNDSPLIT(n, t)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → SNDSPLIT(m, st_3)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 7 SCCs with 45 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
QDP
                ↳ UsableRulesProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

APP(cons(h, t), x) → APP(t, x)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

APP(cons(h, t), x) → APP(t, x)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

APP(cons(h, t), x) → APP(t, x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
QDP
                ↳ UsableRulesProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

MAP_F(pid, cons(h, t)) → MAP_F(pid, t)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

MAP_F(pid, cons(h, t)) → MAP_F(pid, t)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

MAP_F(pid, cons(h, t)) → MAP_F(pid, t)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
QDP
                ↳ UsableRulesProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(h, t)) → LENGTH(t)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(h, t)) → LENGTH(t)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LENGTH(cons(h, t)) → LENGTH(t)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
QDP
                ↳ UsableRulesProof
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LEQ(s(n), s(m)) → LEQ(n, m)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LEQ(s(n), s(m)) → LEQ(n, m)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

LEQ(s(n), s(m)) → LEQ(n, m)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
QDP
                ↳ UsableRulesProof
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

SNDSPLIT(s(n), cons(h, t)) → SNDSPLIT(n, t)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

SNDSPLIT(s(n), cons(h, t)) → SNDSPLIT(n, t)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

SNDSPLIT(s(n), cons(h, t)) → SNDSPLIT(n, t)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
QDP
                ↳ UsableRulesProof
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

FSTSPLIT(s(n), cons(h, t)) → FSTSPLIT(n, t)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

FSTSPLIT(s(n), cons(h, t)) → FSTSPLIT(n, t)

R is empty.
The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ QDPSizeChangeProof
              ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

FSTSPLIT(s(n), cons(h, t)) → FSTSPLIT(n, t)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
QDP
                ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
empty(nil) → true
empty(cons(h, t)) → false
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
length(nil) → 0
length(cons(h, t)) → s(length(t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
head(cons(h, t)) → h
tail(cons(h, t)) → t
ring(st_1, in_2, st_2, in_3, st_3, m) → if_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
if_1(st_1, in_2, st_2, in_3, st_3, m, false) → ring(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
if_2(st_1, in_2, st_2, in_3, st_3, m, true) → if_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
if_3(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
if_2(st_1, in_2, st_2, in_3, st_3, m, false) → if_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
if_4(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
if_5(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, tail(in_2), st_2, in_3, st_3, m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
if_6(st_1, in_2, st_2, in_3, st_3, m, true) → if_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
if_7(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
if_6(st_1, in_2, st_2, in_3, st_3, m, false) → if_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
if_8(st_1, in_2, st_2, in_3, st_3, m, false) → ring(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
ring(st_1, in_2, st_2, in_3, st_3, m) → if_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
if_9(st_1, in_2, st_2, in_3, st_3, m, true) → ring(st_1, in_2, st_2, tail(in_3), st_3, m)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
QDP
                    ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))
ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

ring(x0, x1, x2, x3, x4, x5)
if_1(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, true)
if_3(x0, x1, x2, x3, x4, x5, false)
if_2(x0, x1, x2, x3, x4, x5, false)
if_4(x0, x1, x2, x3, x4, x5, false)
if_5(x0, x1, x2, x3, x4, x5, true)
if_6(x0, x1, x2, x3, x4, x5, true)
if_7(x0, x1, x2, x3, x4, x5, false)
if_6(x0, x1, x2, x3, x4, x5, false)
if_8(x0, x1, x2, x3, x4, x5, false)
if_9(x0, x1, x2, x3, x4, x5, true)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
QDP
                        ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3))))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule RING(st_1, in_2, st_2, in_3, st_3, m) → IF_9(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(three, head(in_3)))) at position [6] we obtained the following new rules:

RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
QDP
                            ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule RING(st_1, in_2, st_2, in_3, st_3, m) → IF_5(st_1, in_2, st_2, in_3, st_3, m, empty(map_f(two, head(in_2)))) at position [6] we obtained the following new rules:

RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
QDP
                                ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule IF_2(st_1, in_2, st_2, in_3, st_3, m, true) → IF_3(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_2))) at position [6] we obtained the following new rules:

IF_2(y0, y1, nil, y3, y4, s(x0), true) → IF_3(y0, y1, nil, y3, y4, s(x0), empty(nil))
IF_2(y0, y1, x0, y3, y4, 0, true) → IF_3(y0, y1, x0, y3, y4, 0, empty(nil))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
QDP
                                    ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, x0, y3, y4, 0, true) → IF_3(y0, y1, x0, y3, y4, 0, empty(nil))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_2(y0, y1, nil, y3, y4, s(x0), true) → IF_3(y0, y1, nil, y3, y4, s(x0), empty(nil))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
QDP
                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2)))) at position [6] we obtained the following new rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
QDP
                                            ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule IF_6(st_1, in_2, st_2, in_3, st_3, m, true) → IF_7(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_3))) at position [6] we obtained the following new rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), empty(cons(x1, fstsplit(x0, x2))))
IF_6(y0, y1, y2, y3, x0, 0, true) → IF_7(y0, y1, y2, y3, x0, 0, empty(nil))
IF_6(y0, y1, y2, y3, nil, s(x0), true) → IF_7(y0, y1, y2, y3, nil, s(x0), empty(nil))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
QDP
                                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_6(y0, y1, y2, y3, nil, s(x0), true) → IF_7(y0, y1, y2, y3, nil, s(x0), empty(nil))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), empty(cons(x1, fstsplit(x0, x2))))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_6(y0, y1, y2, y3, x0, 0, true) → IF_7(y0, y1, y2, y3, x0, 0, empty(nil))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
QDP
                                                    ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), empty(cons(x1, fstsplit(x0, x2))))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), empty(cons(x1, fstsplit(x0, x2)))) at position [6] we obtained the following new rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
QDP
                                                        ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1)))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule RING(st_1, in_2, st_2, in_3, st_3, m) → IF_1(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, st_1))) at position [6] we obtained the following new rules:

RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))
RING(nil, y1, y2, y3, y4, s(x0)) → IF_1(nil, y1, y2, y3, y4, s(x0), empty(nil))
RING(x0, y1, y2, y3, y4, 0) → IF_1(x0, y1, y2, y3, y4, 0, empty(nil))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
QDP
                                                            ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(nil, y1, y2, y3, y4, s(x0)) → IF_1(nil, y1, y2, y3, y4, s(x0), empty(nil))
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
RING(x0, y1, y2, y3, y4, 0) → IF_1(x0, y1, y2, y3, y4, 0, empty(nil))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
QDP
                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2))))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), empty(cons(x1, fstsplit(x0, x2)))) at position [6] we obtained the following new rules:

RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
QDP
                                                                    ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2)))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule RING(st_1, in_2, st_2, in_3, st_3, m) → IF_2(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_2))) at position [6] we obtained the following new rules:

RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, y4, 0) → IF_2(y0, y1, y2, y3, y4, 0, true)
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
QDP
                                                                        ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
RING(y0, y1, y2, y3, y4, 0) → IF_2(y0, y1, y2, y3, y4, 0, true)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
QDP
                                                                            ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3)))
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule RING(st_1, in_2, st_2, in_3, st_3, m) → IF_6(st_1, in_2, st_2, in_3, st_3, m, leq(m, length(st_3))) at position [6] we obtained the following new rules:

RING(y0, y1, y2, y3, y4, 0) → IF_6(y0, y1, y2, y3, y4, 0, true)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
QDP
                                                                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(y0, y1, y2, y3, y4, 0) → IF_6(y0, y1, y2, y3, y4, 0, true)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
QDP
                                                                                    ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2))))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule IF_2(st_1, in_2, st_2, in_3, st_3, m, false) → IF_4(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(two, head(in_2)), st_2)))) at position [6] we obtained the following new rules:

IF_2(y0, y1, y2, y3, y4, 0, false) → IF_4(y0, y1, y2, y3, y4, 0, empty(nil))
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
QDP
                                                                                        ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_2(y0, y1, y2, y3, y4, 0, false) → IF_4(y0, y1, y2, y3, y4, 0, empty(nil))
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
QDP
                                                                                            ↳ Narrowing

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule IF_6(st_1, in_2, st_2, in_3, st_3, m, false) → IF_8(st_1, in_2, st_2, in_3, st_3, m, empty(fstsplit(m, app(map_f(three, head(in_3)), st_3)))) at position [6] we obtained the following new rules:

IF_6(y0, y1, y2, y3, y4, 0, false) → IF_8(y0, y1, y2, y3, y4, 0, empty(nil))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
QDP
                                                                                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(y0, y1, y2, y3, y4, 0, false) → IF_8(y0, y1, y2, y3, y4, 0, empty(nil))
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
QDP
                                                                                                    ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_9(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, in_2, st_2, tail(in_3), st_3, m) we obtained the following new rules:

IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, tail(cons(z3, z4)), z5, z6)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
QDP
                                                                                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, tail(cons(z3, z4)), z5, z6)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, tail(cons(z3, z4)), z5, z6) at position [3] we obtained the following new rules:

IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
QDP
                                                                                                            ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_5(st_1, in_2, st_2, in_3, st_3, m, true) → RING(st_1, tail(in_2), st_2, in_3, st_3, m) we obtained the following new rules:

IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, tail(cons(z1, z2)), z3, z4, z5, z6)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
QDP
                                                                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, tail(cons(z1, z2)), z3, z4, z5, z6)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, tail(cons(z1, z2)), z3, z4, z5, z6) at position [1] we obtained the following new rules:

IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
QDP
                                                                                                                    ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_1(st_1, in_2, st_2, in_3, st_3, m, false) → RING(sndsplit(m, st_1), cons(fstsplit(m, st_1), in_2), st_2, in_3, st_3, m) we obtained the following new rules:

IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(s(z6), cons(z0, z1)), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
QDP
                                                                                                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(s(z6), cons(z0, z1)), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(s(z6), cons(z0, z1)), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6)) at position [0] we obtained the following new rules:

IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
QDP
                                                                                                                            ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(fstsplit(s(z6), cons(z0, z1)), z2), z3, z4, z5, s(z6)) at position [1,0] we obtained the following new rules:

IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
QDP
                                                                                                                                ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_3(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, sndsplit(m, st_2), cons(fstsplit(m, st_2), in_3), st_3, m) we obtained the following new rules:

IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(s(z6), cons(z2, z3)), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
QDP
                                                                                                                                    ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(s(z6), cons(z2, z3)), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(s(z6), cons(z2, z3)), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6)) at position [2] we obtained the following new rules:

IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
QDP
                                                                                                                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(fstsplit(s(z6), cons(z2, z3)), z4), z5, s(z6)) at position [3,0] we obtained the following new rules:

IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
QDP
                                                                                                                                            ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_2(y0, cons(x0, x1), y2, y3, y4, y5, false) → IF_4(y0, cons(x0, x1), y2, y3, y4, y5, empty(fstsplit(y5, app(map_f(two, x0), y2)))) we obtained the following new rules:

IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
QDP
                                                                                                                                                ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_4(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, tail(in_2), sndsplit(m, app(map_f(two, head(in_2)), st_2)), cons(fstsplit(m, app(map_f(two, head(in_2)), st_2)), in_3), st_3, m) we obtained the following new rules:

IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
QDP
                                                                                                                                                    ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5) at position [1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
QDP
                                                                                                                                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, tail(cons(z1, z2)), sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7) at position [1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
QDP
                                                                                                                                                            ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5) at position [2,1,0,1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
QDP
                                                                                                                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7) at position [2,1,0,1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                                    ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, head(cons(z1, z2))), nil)), z3), z4, z5) at position [3,0,1,0,1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
QDP
                                                                                                                                                                        ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, head(cons(z1, z2))), cons(z3, z4))), z5), z6, z7) at position [3,0,1,0,1] we obtained the following new rules:

IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
QDP
                                                                                                                                                                            ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m)
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_7(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, in_3, sndsplit(m, st_3), m) we obtained the following new rules:

IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(s(z6), cons(z4, z5)), s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
QDP
                                                                                                                                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(s(z6), cons(z4, z5)), s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(s(z6), cons(z4, z5)), s(z6)) at position [4] we obtained the following new rules:

IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                                                    ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4))))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_6(y0, y1, y2, cons(x0, x1), y4, y5, false) → IF_8(y0, y1, y2, cons(x0, x1), y4, y5, empty(fstsplit(y5, app(map_f(three, x0), y4)))) we obtained the following new rules:

IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
QDP
                                                                                                                                                                                        ↳ Instantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m)
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By instantiating [15] the rule IF_8(st_1, in_2, st_2, in_3, st_3, m, false) → RING(st_1, in_2, st_2, tail(in_3), sndsplit(m, app(map_f(three, head(in_3)), st_3)), m) we obtained the following new rules:

IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
QDP
                                                                                                                                                                                            ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5) at position [3] we obtained the following new rules:

IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
QDP
                                                                                                                                                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, tail(cons(z3, z4)), sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7) at position [3] we obtained the following new rules:

IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                                                                    ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), 0) → false
leq(s(n), s(m)) → leq(n, m)
tail(cons(h, t)) → t
head(cons(h, t)) → h
map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
QDP
                                                                                                                                                                                                        ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
empty(nil) → true
empty(cons(h, t)) → false
head(cons(h, t)) → h

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))
tail(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

tail(cons(x0, x1))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
QDP
                                                                                                                                                                                                            ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
empty(nil) → true
empty(cons(h, t)) → false
head(cons(h, t)) → h

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, head(cons(z3, z4))), cons(z5, z6))), z7) at position [4,1,0,1] we obtained the following new rules:

IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
QDP
                                                                                                                                                                                                                ↳ Rewriting

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
empty(nil) → true
empty(cons(h, t)) → false
head(cons(h, t)) → h

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
By rewriting [15] the rule IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, head(cons(z3, z4))), nil)), z5) at position [4,1,0,1] we obtained the following new rules:

IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
empty(nil) → true
empty(cons(h, t)) → false
head(cons(h, t)) → h

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
QDP
                                                                                                                                                                                                                        ↳ QReductionProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))
head(cons(x0, x1))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

head(cons(x0, x1))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule IF_5(z0, cons(z1, z2), z3, z4, z5, z6, true) → RING(z0, z2, z3, z4, z5, z6) we obtained the following new rules:

IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule RING(y0, y1, y2, y3, nil, y5) → IF_6(y0, y1, y2, y3, nil, y5, leq(y5, 0)) we obtained the following new rules:

RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6)
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule IF_9(z0, z1, z2, cons(z3, z4), z5, z6, true) → RING(z0, z1, z2, z4, z5, z6) we obtained the following new rules:

IF_9(x0, x1, nil, cons(x3, x4), x5, x6, true) → RING(x0, x1, nil, x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), nil, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), nil, x6)
IF_9(x0, x1, x2, cons(x3, x4), cons(y_4, y_5), x6, true) → RING(x0, x1, x2, x4, cons(y_4, y_5), x6)
IF_9(x0, x1, cons(y_2, y_3), cons(x3, x4), x5, x6, true) → RING(x0, x1, cons(y_2, y_3), x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), x5, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), x5, x6)
IF_9(x0, cons(y_1, y_2), x2, cons(x3, x4), x5, x6, true) → RING(x0, cons(y_1, y_2), x2, x4, x5, x6)
IF_9(cons(y_0, y_1), x1, x2, cons(x3, x4), x5, s(y_6), true) → RING(cons(y_0, y_1), x1, x2, x4, x5, s(y_6))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_9(x0, x1, x2, cons(x3, x4), cons(y_4, y_5), x6, true) → RING(x0, x1, x2, x4, cons(y_4, y_5), x6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), x5, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), x5, x6)
IF_9(x0, cons(y_1, y_2), x2, cons(x3, x4), x5, x6, true) → RING(x0, cons(y_1, y_2), x2, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), nil, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), nil, x6)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_9(cons(y_0, y_1), x1, x2, cons(x3, x4), x5, s(y_6), true) → RING(cons(y_0, y_1), x1, x2, x4, x5, s(y_6))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_9(x0, x1, nil, cons(x3, x4), x5, x6, true) → RING(x0, x1, nil, x4, x5, x6)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0))
IF_9(x0, x1, cons(y_2, y_3), cons(x3, x4), x5, x6, true) → RING(x0, x1, cons(y_2, y_3), x4, x5, x6)
RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule RING(y0, y1, nil, y3, y4, y5) → IF_2(y0, y1, nil, y3, y4, y5, leq(y5, 0)) we obtained the following new rules:

RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_9(x0, x1, x2, cons(x3, x4), cons(y_4, y_5), x6, true) → RING(x0, x1, x2, x4, cons(y_4, y_5), x6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), x5, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), x5, x6)
IF_9(x0, cons(y_1, y_2), x2, cons(x3, x4), x5, x6, true) → RING(x0, cons(y_1, y_2), x2, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), nil, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), nil, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_9(cons(y_0, y_1), x1, x2, cons(x3, x4), x5, s(y_6), true) → RING(cons(y_0, y_1), x1, x2, x4, x5, s(y_6))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_9(x0, x1, nil, cons(x3, x4), x5, x6, true) → RING(x0, x1, nil, x4, x5, x6)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
IF_9(x0, x1, cons(y_2, y_3), cons(x3, x4), x5, x6, true) → RING(x0, x1, cons(y_2, y_3), x4, x5, x6)
RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


IF_6(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, false) → IF_8(z0, z1, z2, cons(x3, x4), cons(z4, z5), z6, empty(fstsplit(z6, app(map_f(three, x3), cons(z4, z5)))))
IF_6(z0, z1, z2, cons(x3, x4), nil, z4, false) → IF_8(z0, z1, z2, cons(x3, x4), nil, z4, empty(fstsplit(z4, app(map_f(three, x3), nil))))
RING(y0, y1, y2, cons(x0, x1), y4, y5) → IF_9(y0, y1, y2, cons(x0, x1), y4, y5, empty(map_f(three, x0)))
RING(y0, cons(x0, x1), y2, y3, y4, y5) → IF_5(y0, cons(x0, x1), y2, y3, y4, y5, empty(map_f(two, x0)))
The remaining pairs can at least be oriented weakly.

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_9(x0, x1, x2, cons(x3, x4), cons(y_4, y_5), x6, true) → RING(x0, x1, x2, x4, cons(y_4, y_5), x6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), x5, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), x5, x6)
IF_9(x0, cons(y_1, y_2), x2, cons(x3, x4), x5, x6, true) → RING(x0, cons(y_1, y_2), x2, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), nil, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), nil, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_9(cons(y_0, y_1), x1, x2, cons(x3, x4), x5, s(y_6), true) → RING(cons(y_0, y_1), x1, x2, x4, x5, s(y_6))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_9(x0, x1, nil, cons(x3, x4), x5, x6, true) → RING(x0, x1, nil, x4, x5, x6)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(x0, x1, cons(y_2, y_3), cons(x3, x4), x5, x6, true) → RING(x0, x1, cons(y_2, y_3), x4, x5, x6)
RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)
Used ordering: Polynomial interpretation [25]:

POL(0) = 0   
POL(IF_1(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_2(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_3(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_4(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_5(x1, x2, x3, x4, x5, x6, x7)) = x1 + x2 + x3 + x4   
POL(IF_6(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_7(x1, x2, x3, x4, x5, x6, x7)) = 1 + x1 + x2 + x3 + x4   
POL(IF_8(x1, x2, x3, x4, x5, x6, x7)) = x1 + x2 + x3 + x4   
POL(IF_9(x1, x2, x3, x4, x5, x6, x7)) = x1 + x2 + x3 + x4   
POL(RING(x1, x2, x3, x4, x5, x6)) = 1 + x1 + x2 + x3 + x4   
POL(app(x1, x2)) = x1 + x2   
POL(cons(x1, x2)) = 1 + x2   
POL(empty(x1)) = 0   
POL(f(x1, x2)) = 0   
POL(false) = 0   
POL(fstsplit(x1, x2)) = 0   
POL(length(x1)) = 0   
POL(leq(x1, x2)) = 0   
POL(map_f(x1, x2)) = 0   
POL(nil) = 0   
POL(s(x1)) = 0   
POL(sndsplit(x1, x2)) = x2   
POL(three) = 0   
POL(true) = 0   
POL(two) = 0   

The following usable rules [17] were oriented:

sndsplit(0, x) → x
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
sndsplit(s(n), nil) → nil
app(cons(h, t), x) → cons(h, app(t, x))
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
map_f(pid, nil) → nil



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_9(x0, x1, x2, cons(x3, x4), cons(y_4, y_5), x6, true) → RING(x0, x1, x2, x4, cons(y_4, y_5), x6)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), x5, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), x5, x6)
IF_9(x0, cons(y_1, y_2), x2, cons(x3, x4), x5, x6, true) → RING(x0, cons(y_1, y_2), x2, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, cons(y_3, y_4), x5, x6, true) → RING(x0, x2, x3, cons(y_3, y_4), x5, x6)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
IF_5(x0, cons(x1, x2), x3, x4, nil, x6, true) → RING(x0, x2, x3, x4, nil, x6)
IF_5(x0, cons(x1, x2), nil, x4, x5, x6, true) → RING(x0, x2, nil, x4, x5, x6)
IF_5(x0, cons(x1, x2), x3, x4, cons(y_4, y_5), x6, true) → RING(x0, x2, x3, x4, cons(y_4, y_5), x6)
IF_5(x0, cons(x1, cons(y_1, y_2)), x3, x4, x5, x6, true) → RING(x0, cons(y_1, y_2), x3, x4, x5, x6)
IF_9(x0, x1, x2, cons(x3, cons(y_3, y_4)), nil, x6, true) → RING(x0, x1, x2, cons(y_3, y_4), nil, x6)
IF_8(z0, z1, z2, cons(z3, z4), nil, z5, false) → RING(z0, z1, z2, z4, sndsplit(z5, app(map_f(three, z3), nil)), z5)
IF_5(x0, cons(x1, x2), cons(y_2, y_3), x4, x5, x6, true) → RING(x0, x2, cons(y_2, y_3), x4, x5, x6)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
IF_9(cons(y_0, y_1), x1, x2, cons(x3, x4), x5, s(y_6), true) → RING(cons(y_0, y_1), x1, x2, x4, x5, s(y_6))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_9(x0, x1, nil, cons(x3, x4), x5, x6, true) → RING(x0, x1, nil, x4, x5, x6)
IF_5(cons(y_0, y_1), cons(x1, x2), x3, x4, x5, s(y_6), true) → RING(cons(y_0, y_1), x2, x3, x4, x5, s(y_6))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_9(x0, x1, cons(y_2, y_3), cons(x3, x4), x5, x6, true) → RING(x0, x1, cons(y_2, y_3), x4, x5, x6)
RING(x0, x1, x2, cons(y_3, y_4), nil, x4) → IF_6(x0, x1, x2, cons(y_3, y_4), nil, x4, leq(x4, 0))
IF_8(z0, z1, z2, cons(z3, z4), cons(z5, z6), z7, false) → RING(z0, z1, z2, z4, sndsplit(z7, app(map_f(three, z3), cons(z5, z6))), z7)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 17 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


IF_1(cons(z0, z1), z2, z3, z4, z5, s(z6), false) → RING(sndsplit(z6, z1), cons(cons(z0, fstsplit(z6, z1)), z2), z3, z4, z5, s(z6))
The remaining pairs can at least be oriented weakly.

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
Used ordering: Polynomial interpretation [25]:

POL(0) = 0   
POL(IF_1(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(IF_2(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(IF_3(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(IF_4(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(IF_6(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(IF_7(x1, x2, x3, x4, x5, x6, x7)) = x1   
POL(RING(x1, x2, x3, x4, x5, x6)) = x1   
POL(app(x1, x2)) = 0   
POL(cons(x1, x2)) = 1 + x2   
POL(empty(x1)) = 0   
POL(f(x1, x2)) = 0   
POL(false) = 0   
POL(fstsplit(x1, x2)) = 0   
POL(length(x1)) = 0   
POL(leq(x1, x2)) = 0   
POL(map_f(x1, x2)) = 1 + x1 + x2   
POL(nil) = 0   
POL(s(x1)) = 0   
POL(sndsplit(x1, x2)) = x2   
POL(true) = 0   
POL(two) = 0   

The following usable rules [17] were oriented:

sndsplit(0, x) → x
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
sndsplit(s(n), nil) → nil



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
RING(cons(x1, x2), y1, y2, y3, y4, s(x0)) → IF_1(cons(x1, x2), y1, y2, y3, y4, s(x0), false)

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
QDP
                                                                                                                                                                                                                                                            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


IF_7(z0, z1, z2, z3, cons(z4, z5), s(z6), false) → RING(z0, z1, z2, z3, sndsplit(z6, z5), s(z6))
The remaining pairs can at least be oriented weakly.

IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
Used ordering: Polynomial interpretation [25]:

POL(0) = 0   
POL(IF_2(x1, x2, x3, x4, x5, x6, x7)) = x5   
POL(IF_3(x1, x2, x3, x4, x5, x6, x7)) = x5   
POL(IF_4(x1, x2, x3, x4, x5, x6, x7)) = x5   
POL(IF_6(x1, x2, x3, x4, x5, x6, x7)) = x5   
POL(IF_7(x1, x2, x3, x4, x5, x6, x7)) = x5   
POL(RING(x1, x2, x3, x4, x5, x6)) = x5   
POL(app(x1, x2)) = 0   
POL(cons(x1, x2)) = 1 + x2   
POL(empty(x1)) = 0   
POL(f(x1, x2)) = 0   
POL(false) = 0   
POL(fstsplit(x1, x2)) = 0   
POL(length(x1)) = 0   
POL(leq(x1, x2)) = 0   
POL(map_f(x1, x2)) = 1   
POL(nil) = 0   
POL(s(x1)) = 0   
POL(sndsplit(x1, x2)) = x2   
POL(true) = 0   
POL(two) = 0   

The following usable rules [17] were oriented:

sndsplit(0, x) → x
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
sndsplit(s(n), nil) → nil



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
                                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                                            ↳ QDPOrderProof
QDP
                                                                                                                                                                                                                                                                ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_6(y0, y1, y2, y3, cons(x1, x2), s(x0), true) → IF_7(y0, y1, y2, y3, cons(x1, x2), s(x0), false)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(y0, y1, y2, y3, cons(x0, x1), y5) → IF_6(y0, y1, y2, y3, cons(x0, x1), y5, leq(y5, s(length(x1))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
                                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                                ↳ DependencyGraphProof
QDP
                                                                                                                                                                                                                                                                    ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


IF_2(y0, y1, cons(x1, x2), y3, y4, s(x0), true) → IF_3(y0, y1, cons(x1, x2), y3, y4, s(x0), false)
The remaining pairs can at least be oriented weakly.

IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))
Used ordering: Polynomial interpretation [25]:

POL(0) = 0   
POL(IF_2(x1, x2, x3, x4, x5, x6, x7)) = x3 + x6   
POL(IF_3(x1, x2, x3, x4, x5, x6, x7)) = x3   
POL(IF_4(x1, x2, x3, x4, x5, x6, x7)) = x3 + x6   
POL(RING(x1, x2, x3, x4, x5, x6)) = x3 + x6   
POL(app(x1, x2)) = x1 + x2   
POL(cons(x1, x2)) = 1 + x2   
POL(empty(x1)) = 0   
POL(f(x1, x2)) = 0   
POL(false) = 0   
POL(fstsplit(x1, x2)) = 0   
POL(length(x1)) = 0   
POL(leq(x1, x2)) = 0   
POL(map_f(x1, x2)) = x1   
POL(nil) = 0   
POL(s(x1)) = 1   
POL(sndsplit(x1, x2)) = x2   
POL(true) = 0   
POL(two) = 0   

The following usable rules [17] were oriented:

map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
map_f(pid, nil) → nil
sndsplit(0, x) → x
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)
sndsplit(s(n), nil) → nil
app(cons(h, t), x) → cons(h, app(t, x))



↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
                                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                                    ↳ QDPOrderProof
QDP
                                                                                                                                                                                                                                                                        ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))
IF_3(z0, z1, cons(z2, z3), z4, z5, s(z6), false) → RING(z0, z1, sndsplit(z6, z3), cons(cons(z2, fstsplit(z6, z3)), z4), z5, s(z6))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ AAECC Innermost
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ AND
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
              ↳ QDP
                ↳ UsableRulesProof
                  ↳ QDP
                    ↳ QReductionProof
                      ↳ QDP
                        ↳ Narrowing
                          ↳ QDP
                            ↳ Narrowing
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ Rewriting
                                          ↳ QDP
                                            ↳ Narrowing
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ Rewriting
                                                      ↳ QDP
                                                        ↳ Narrowing
                                                          ↳ QDP
                                                            ↳ DependencyGraphProof
                                                              ↳ QDP
                                                                ↳ Rewriting
                                                                  ↳ QDP
                                                                    ↳ Narrowing
                                                                      ↳ QDP
                                                                        ↳ DependencyGraphProof
                                                                          ↳ QDP
                                                                            ↳ Narrowing
                                                                              ↳ QDP
                                                                                ↳ DependencyGraphProof
                                                                                  ↳ QDP
                                                                                    ↳ Narrowing
                                                                                      ↳ QDP
                                                                                        ↳ DependencyGraphProof
                                                                                          ↳ QDP
                                                                                            ↳ Narrowing
                                                                                              ↳ QDP
                                                                                                ↳ DependencyGraphProof
                                                                                                  ↳ QDP
                                                                                                    ↳ Instantiation
                                                                                                      ↳ QDP
                                                                                                        ↳ Rewriting
                                                                                                          ↳ QDP
                                                                                                            ↳ Instantiation
                                                                                                              ↳ QDP
                                                                                                                ↳ Rewriting
                                                                                                                  ↳ QDP
                                                                                                                    ↳ Instantiation
                                                                                                                      ↳ QDP
                                                                                                                        ↳ Rewriting
                                                                                                                          ↳ QDP
                                                                                                                            ↳ Rewriting
                                                                                                                              ↳ QDP
                                                                                                                                ↳ Instantiation
                                                                                                                                  ↳ QDP
                                                                                                                                    ↳ Rewriting
                                                                                                                                      ↳ QDP
                                                                                                                                        ↳ Rewriting
                                                                                                                                          ↳ QDP
                                                                                                                                            ↳ Instantiation
                                                                                                                                              ↳ QDP
                                                                                                                                                ↳ Instantiation
                                                                                                                                                  ↳ QDP
                                                                                                                                                    ↳ Rewriting
                                                                                                                                                      ↳ QDP
                                                                                                                                                        ↳ Rewriting
                                                                                                                                                          ↳ QDP
                                                                                                                                                            ↳ Rewriting
                                                                                                                                                              ↳ QDP
                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                  ↳ QDP
                                                                                                                                                                    ↳ Rewriting
                                                                                                                                                                      ↳ QDP
                                                                                                                                                                        ↳ Rewriting
                                                                                                                                                                          ↳ QDP
                                                                                                                                                                            ↳ Instantiation
                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                    ↳ Instantiation
                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                        ↳ Instantiation
                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                            ↳ Rewriting
                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                ↳ Rewriting
                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                    ↳ UsableRulesProof
                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                        ↳ QReductionProof
                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                            ↳ ForwardInstantiation
                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                ↳ ForwardInstantiation
                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                    ↳ ForwardInstantiation
                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                        ↳ ForwardInstantiation
                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
                                                                                                                                                                                                                                                          ↳ QDP
                                                                                                                                                                                                                                                            ↳ QDPOrderProof
                                                                                                                                                                                                                                                              ↳ QDP
                                                                                                                                                                                                                                                                ↳ DependencyGraphProof
                                                                                                                                                                                                                                                                  ↳ QDP
                                                                                                                                                                                                                                                                    ↳ QDPOrderProof
                                                                                                                                                                                                                                                                      ↳ QDP
                                                                                                                                                                                                                                                                        ↳ DependencyGraphProof
QDP
                                                                                                                                                                                                                                                                            ↳ QDPSizeChangeProof

Q DP problem:
The TRS P consists of the following rules:

IF_4(z0, cons(z1, z2), cons(z3, z4), z5, z6, z7, false) → RING(z0, z2, sndsplit(z7, app(map_f(two, z1), cons(z3, z4))), cons(fstsplit(z7, app(map_f(two, z1), cons(z3, z4))), z5), z6, z7)
RING(y0, y1, cons(x0, x1), y3, y4, y5) → IF_2(y0, y1, cons(x0, x1), y3, y4, y5, leq(y5, s(length(x1))))
IF_2(z0, cons(x1, x2), nil, z2, z3, z4, false) → IF_4(z0, cons(x1, x2), nil, z2, z3, z4, empty(fstsplit(z4, app(map_f(two, x1), nil))))
IF_4(z0, cons(z1, z2), nil, z3, z4, z5, false) → RING(z0, z2, sndsplit(z5, app(map_f(two, z1), nil)), cons(fstsplit(z5, app(map_f(two, z1), nil)), z3), z4, z5)
IF_2(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, false) → IF_4(z0, cons(x1, x2), cons(z2, z3), z4, z5, z6, empty(fstsplit(z6, app(map_f(two, x1), cons(z2, z3)))))
RING(x0, cons(y_1, y_2), nil, x2, x3, x4) → IF_2(x0, cons(y_1, y_2), nil, x2, x3, x4, leq(x4, 0))

The TRS R consists of the following rules:

map_f(pid, nil) → nil
map_f(pid, cons(h, t)) → app(f(pid, h), map_f(pid, t))
app(nil, x) → x
app(cons(h, t), x) → cons(h, app(t, x))
fstsplit(0, x) → nil
fstsplit(s(n), nil) → nil
fstsplit(s(n), cons(h, t)) → cons(h, fstsplit(n, t))
empty(nil) → true
empty(cons(h, t)) → false
length(nil) → 0
length(cons(h, t)) → s(length(t))
leq(0, m) → true
leq(s(n), s(m)) → leq(n, m)
leq(s(n), 0) → false
sndsplit(0, x) → x
sndsplit(s(n), nil) → nil
sndsplit(s(n), cons(h, t)) → sndsplit(n, t)

The set Q consists of the following terms:

fstsplit(0, x0)
fstsplit(s(x0), nil)
fstsplit(s(x0), cons(x1, x2))
sndsplit(0, x0)
sndsplit(s(x0), nil)
sndsplit(s(x0), cons(x1, x2))
empty(nil)
empty(cons(x0, x1))
leq(0, x0)
leq(s(x0), 0)
leq(s(x0), s(x1))
length(nil)
length(cons(x0, x1))
app(nil, x0)
app(cons(x0, x1), x2)
map_f(x0, nil)
map_f(x0, cons(x1, x2))

We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs: